<?xml version="1.0" encoding="UTF-8"?>
<!--
********************************************************************************
** Project      = AUTOSAR Renesas R4.0.3 P1x-C MCAL Components                **
** Module       = DIO Driver                                                  **
** Version      = 1.0.1                                                       **
** $Revision: 420522 $                                                        **
** $Date: 2017-06-14 16:32:58 +0900 (水, 14 6 2017) $                      **
********************************************************************************
**                                  COPYRIGHT                                 **
********************************************************************************
** Copyright(c) 2017 Renesas Electronics Corporation                          **
********************************************************************************
** Purpose:                                                                   **
** Provides the definition of the containers, sub-containers and parameters   **
** specific to AUTOSAR Renesas DIO Module for 4.0.3                           **
**                                                                            **
********************************************************************************
**                                                                            **
** Unless otherwise agreed upon in writing between your company and           **
** Renesas Electronics Corporation the following shall apply!                 **
**                                                                            **
** Warranty Disclaimer                                                        **
**                                                                            **
** There is no warranty of any kind whatsoever granted by Renesas. Any        **
** warranty is expressly disclaimed and excluded by Renesas, either expressed **
** or implied, including but not limited to those for non-infringement of     **
** intellectual property, merchantability and/or fitness for the particular   **
** purpose.                                                                   **
**                                                                            **
** Renesas shall not have any obligation to maintain, service or provide bug  **
** fixes for the supplied Product(s) and/or the Application.                  **
**                                                                            **
** Each User is solely responsible for determining the appropriateness of     **
** using the Product(s) and assumes all risks associated with its exercise    **
** of rights under this Agreement, including, but not limited to the risks    **
** and costs of program errors, compliance with applicable laws, damage to    **
** or loss of data, programs or equipment, and unavailability or              **
** interruption of operations.                                                **
**                                                                            **
** Limitation of Liability                                                    **
**                                                                            **
** In no event shall Renesas be liable to the User for any incidental,        **
** consequential, indirect, or punitive damage (including but not limited     **
** to lost profits) regardless of whether such liability is based on breach   **
** of contract, tort, strict liability, breach of warranties, failure of      **
** essential purpose or otherwise and even if advised of the possibility of   **
** such damages. Renesas shall not be liable for any services or products     **
** provided by third party vendors, developers or consultants identified or   **
** referred to the User by Renesas in connection with the Product(s) and/or   **
** the Application.                                                           **
**                                                                            **
********************************************************************************
** Environment:                                                               **
**              Devices:   RH850/P1x-C: R7F701374                             **
********************************************************************************
**                      Revision Control History                              **
********************************************************************************
** V1.0.0: 20-Apr-2017:  Initial Version                                      **
** V1.0.1: 16-Jun-2017:  1. As per ARDAAAF-2241,                              **
**                          DioChannelId and DioPortOffset ranges corrected.  **
**                       2. As per ARDAAAF-2475, updated description for      **
**                          DioMaskedWritePortApi and DioPortName             **
********************************************************************************
-->
<AUTOSAR xmlns="http://autosar.org/schema/r4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://autosar.org/schema/r4.0 AUTOSAR_4-0-3.xsd">
  <ADMIN-DATA>
    <DOC-REVISIONS>
      <DOC-REVISION>
        <REVISION-LABEL>4.2.0</REVISION-LABEL>
        <ISSUED-BY>AUTOSAR</ISSUED-BY>
        <DATE>2011-11-09</DATE>
      </DOC-REVISION>
    </DOC-REVISIONS>
  </ADMIN-DATA>
  <AR-PACKAGES>
    <!-- AR-Package: Renesas -->
    <AR-PACKAGE UUID="ECUS:4f7bc5ae-bc36-44c2-be93-1f4527352f2d">
      <SHORT-NAME>Renesas</SHORT-NAME>
      <AR-PACKAGES>
        <!-- AR-Package: Renesas ECU Configuration Definition -->
        <AR-PACKAGE UUID="ECUS:65074613-ccca-4ade-8f14-1a51aa5b332e">
          <SHORT-NAME>EcucDefs_Dio</SHORT-NAME>
          <ELEMENTS>
            <ECUC-DEFINITION-COLLECTION UUID="ECUS:1910b53d-55f8-4c76-b0a6-f0faf696353a">
              <SHORT-NAME>RenesasParameterDefinition_Dio</SHORT-NAME>
              <MODULE-REFS>
                <MODULE-REF DEST="ECUC-MODULE-DEF">/Renesas/EcucDefs_Dio/Dio</MODULE-REF>
              </MODULE-REFS>
            </ECUC-DEFINITION-COLLECTION>
            <!-- Module Definition: Dio -->
            <ECUC-MODULE-DEF UUID="ECUS:7349e6c6-5c16-4b21-8c61-612f8271e063">
              <SHORT-NAME>Dio</SHORT-NAME>
              <DESC>
                <L-2 L="EN">Configuration of the DIO (Digital IO) module.</L-2>
              </DESC>
              <ADMIN-DATA>
                <DOC-REVISIONS>
                  <DOC-REVISION>
                    <REVISION-LABEL>4.2.0</REVISION-LABEL>
                    <ISSUED-BY>AUTOSAR</ISSUED-BY>
                    <DATE>2011-11-09</DATE>
                  </DOC-REVISION>
                  <DOC-REVISION>
                    <REVISION-LABEL>1.0.0</REVISION-LABEL>
                    <REVISION-LABEL-P-1>4.2.0</REVISION-LABEL-P-1>
                    <ISSUED-BY>Renesas</ISSUED-BY>
                    <DATE>2017-04-25</DATE>
                  </DOC-REVISION>
                  <DOC-REVISION>
                    <REVISION-LABEL>1.0.1</REVISION-LABEL>
                    <REVISION-LABEL-P-1>1.0.0</REVISION-LABEL-P-1>
                    <ISSUED-BY>Renesas</ISSUED-BY>
                    <DATE>2017-06-16</DATE>
                  </DOC-REVISION>
                </DOC-REVISIONS>
              </ADMIN-DATA>
              <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
              <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
              <REFINED-MODULE-DEF-REF DEST="ECUC-MODULE-DEF">/AUTOSAR/EcucDefs/Dio</REFINED-MODULE-DEF-REF>
              <SUPPORTED-CONFIG-VARIANTS>
                <SUPPORTED-CONFIG-VARIANT>VARIANT-POST-BUILD</SUPPORTED-CONFIG-VARIANT>
              </SUPPORTED-CONFIG-VARIANTS>
              <CONTAINERS>
                <!-- Container Definition: DioGeneral -->
                <ECUC-PARAM-CONF-CONTAINER-DEF UUID="ECUS:2dc9e7f0-0224-4287-8c9e-cbc4a9ad0ba6">
                  <SHORT-NAME>DioGeneral</SHORT-NAME>
                  <DESC>
                    <L-2 L="EN">This container contains general DIO module configuration parameters.</L-2>
                  </DESC>
                  <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                  <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                  <MULTIPLE-CONFIGURATION-CONTAINER>false</MULTIPLE-CONFIGURATION-CONTAINER>
                  <PARAMETERS>
                    <!-- PARAMETER DEFINITION: DioDevErrorDetect -->
                    <ECUC-BOOLEAN-PARAM-DEF UUID="ECUS:54b0850d-b91c-498b-85e4-111b039bdea0">
                      <SHORT-NAME>DioDevErrorDetect</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">This parameter switches the Development Error Detection and Notification ON or OFF.</L-2>
                      </DESC>
                      <INTRODUCTION>
                        <P>
                          <L-1 L="EN">true: Development Error Detection and Notification is enabled.
false: Development Error Detection and Notification is disabled.</L-1>
                        </P>
                      </INTRODUCTION>
                      <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                      <IMPLEMENTATION-CONFIG-CLASSES>
                        <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          <CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS>
                          <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                        </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                      </IMPLEMENTATION-CONFIG-CLASSES>
                      <ORIGIN>AUTOSAR_ECUC</ORIGIN>
                      <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                      <DEFAULT-VALUE>false</DEFAULT-VALUE>
                    </ECUC-BOOLEAN-PARAM-DEF>
                    <!-- PARAMETER DEFINITION: DioMaskedWritePortApi -->
                    <ECUC-BOOLEAN-PARAM-DEF UUID="ECUS:fa4c12ec-c7df-4f55-8589-a2fc254132b9">
                      <SHORT-NAME>DioMaskedWritePortApi</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">Adds / removes the service Dio_MaskedWritePort() from the code.
true: Adds the service Dio_MaskedWritePort() to the code.
false: Removes the service Dio_MaskedWritePort() from the code.</L-2>
                      </DESC>
                      <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                      <IMPLEMENTATION-CONFIG-CLASSES>
                        <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          <CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS>
                          <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                        </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                      </IMPLEMENTATION-CONFIG-CLASSES>
                      <ORIGIN>Renesas_v1.0.0</ORIGIN>
                      <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                      <DEFAULT-VALUE>false</DEFAULT-VALUE>
                    </ECUC-BOOLEAN-PARAM-DEF>
                    <!-- PARAMETER DEFINITION: DioFlipChannelApi -->
                    <ECUC-BOOLEAN-PARAM-DEF UUID="ECUS:ae0a13c1-ffd3-4535-a3af-6544d1fdbd38">
                      <SHORT-NAME>DioFlipChannelApi</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">This parameter adds / removes the service Dio_FlipChannel() from the code.</L-2>
                      </DESC>
                      <INTRODUCTION>
                        <P>
                          <L-1 L="EN">true: The service Dio_FlipChannel() from the code is added.
false: The service Dio_FlipChannel() from the code is removed.</L-1>
                        </P>
                      </INTRODUCTION>
                      <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                      <IMPLEMENTATION-CONFIG-CLASSES>
                        <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          <CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS>
                          <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                        </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                      </IMPLEMENTATION-CONFIG-CLASSES>
                      <ORIGIN>AUTOSAR_ECUC</ORIGIN>
                      <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                      <DEFAULT-VALUE>false</DEFAULT-VALUE>
                    </ECUC-BOOLEAN-PARAM-DEF>
                    <!-- PARAMETER DEFINITION: DioVersionInfoApi -->
                    <ECUC-BOOLEAN-PARAM-DEF UUID="ECUS:a208576c-f910-44e7-9110-bf86aadb5eb1">
                      <SHORT-NAME>DioVersionInfoApi</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">Adds / removes the service Dio_GetVersionInfo() from the code.</L-2>
                      </DESC>
                      <INTRODUCTION>
                        <P>
                          <L-1 L="EN">true: The service Dio_GetVersionInfo() from the code is added.
false: The service Dio_GetVersionInfo() from the code is removed.</L-1>
                        </P>
                      </INTRODUCTION>
                      <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                      <IMPLEMENTATION-CONFIG-CLASSES>
                        <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          <CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS>
                          <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                        </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                      </IMPLEMENTATION-CONFIG-CLASSES>
                      <ORIGIN>AUTOSAR_ECUC</ORIGIN>
                      <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                      <DEFAULT-VALUE>false</DEFAULT-VALUE>
                    </ECUC-BOOLEAN-PARAM-DEF>
                    <!-- PARAMETER DEFINITION: DioVersionCheckExternalModules -->
                    <ECUC-BOOLEAN-PARAM-DEF UUID="ECUS:79e5f65d-73d4-4733-a80b-859816e65789">
                      <SHORT-NAME>DioVersionCheckExternalModules</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">Enable / disable AUTOSAR Version check for inter-module dependencies.</L-2>
                      </DESC>
                      <INTRODUCTION>
                        <P>
                          <L-1 L="EN">true: AUTOSAR Version check for inter-module dependencies is enabled.
false: AUTOSAR Version check for inter-module dependencies is disabled.</L-1>
                        </P>
                      </INTRODUCTION>
                      <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                      <IMPLEMENTATION-CONFIG-CLASSES>
                        <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          <CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS>
                          <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                        </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                      </IMPLEMENTATION-CONFIG-CLASSES>
                      <ORIGIN>Renesas_v1.0.0</ORIGIN>
                      <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                      <DEFAULT-VALUE>true</DEFAULT-VALUE>
                      </ECUC-BOOLEAN-PARAM-DEF>
                      <!-- PARAMETER DEFINITION: DioCriticalSectionProtection -->
                    <ECUC-BOOLEAN-PARAM-DEF UUID="ECUS:5848f28f-da6f-44b6-a233-2715bbc9d296">
                      <SHORT-NAME>DioCriticalSectionProtection</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">This parameter specifies if the DIO driver CPU load can be reduced by disabling the enter/exit critical section functionality by
adding a pre compiled configuration parameter to the DIO driver configuration.</L-2>
                      </DESC>
                      <INTRODUCTION>
                        <P>
                          <L-1 L="EN">true: Enables the critical section functionality for the restricted area.
false: Disables the critical section functionality for the restricted area.</L-1>
                        </P>
                      </INTRODUCTION>
                      <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                      <IMPLEMENTATION-CONFIG-CLASSES>
                        <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          <CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS>
                          <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                        </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                      </IMPLEMENTATION-CONFIG-CLASSES>
                      <ORIGIN>Renesas_v1.0.0</ORIGIN>
                      <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                      <DEFAULT-VALUE>true</DEFAULT-VALUE>
                    </ECUC-BOOLEAN-PARAM-DEF>
                    <!-- PARAMETER DEFINITION: DioDeviceName -->
                    <ECUC-ENUMERATION-PARAM-DEF UUID="ECUS:732adf6f-0122-4462-bbe0-5650841bc5ff">
                      <SHORT-NAME>DioDeviceName</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">This parameter contains the supported device name.</L-2>
                      </DESC>
                      <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                      <IMPLEMENTATION-CONFIG-CLASSES>
                        <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          <CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS>
                          <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                        </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                      </IMPLEMENTATION-CONFIG-CLASSES>
                      <ORIGIN>Renesas_v1.0.0</ORIGIN>
                      <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                      <DEFAULT-VALUE>R7F701374</DEFAULT-VALUE>
                      <LITERALS>
                        <ECUC-ENUMERATION-LITERAL-DEF UUID="ECUS:16e39d44-b566-48a7-a024-cc2e9673aced">
                          <SHORT-NAME>R7F701374</SHORT-NAME>
                          <ORIGIN>Renesas_v1.0.0</ORIGIN>
                        </ECUC-ENUMERATION-LITERAL-DEF>
                      </LITERALS>
                    </ECUC-ENUMERATION-PARAM-DEF>
                    <!-- PARAMETER DEFINITION: DioWriteVerify -->
                    <ECUC-ENUMERATION-PARAM-DEF UUID="ECUS:f1274c3e-0970-4971-9334-8a6e2e6bf086">
                      <SHORT-NAME>DioWriteVerify</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">This parameter enables selection and support of RUNTIME register read-back functionality of PORT registers.</L-2>
                      </DESC>
                      <INTRODUCTION>
                        <P>
                          <L-1 L="EN">WV_INIT_RUNTIME: Enables write verify functionality on static and dynamic registers.
WV_DISABLE: Disables the register write verify functionality of all Port registers.</L-1>
                        </P>
                      </INTRODUCTION>
                      <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                      <IMPLEMENTATION-CONFIG-CLASSES>
                        <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          <CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS>
                          <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                        </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                      </IMPLEMENTATION-CONFIG-CLASSES>
                      <ORIGIN>Renesas_v1.0.0</ORIGIN>
                      <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                      <DEFAULT-VALUE>WV_DISABLE</DEFAULT-VALUE>
                      <LITERALS>
                        <ECUC-ENUMERATION-LITERAL-DEF UUID="ECUS:135bd916-7146-4d8a-99d4-5faf5a7587b0">
                          <SHORT-NAME>WV_DISABLE</SHORT-NAME>
                          <ORIGIN>Renesas_v1.0.0</ORIGIN>
                        </ECUC-ENUMERATION-LITERAL-DEF>
                        <ECUC-ENUMERATION-LITERAL-DEF UUID="ECUS:ae9263dc-c4bc-402c-9712-71619eed786b">
                          <SHORT-NAME>WV_INIT_RUNTIME</SHORT-NAME>
                          <ORIGIN>Renesas_v1.0.0</ORIGIN>
                        </ECUC-ENUMERATION-LITERAL-DEF>
                      </LITERALS>
                    </ECUC-ENUMERATION-PARAM-DEF>
                    <!-- PARAMETER DEFINITION: DioUseWriteVerifyErrorInterface -->
                    <ECUC-BOOLEAN-PARAM-DEF UUID="ECUS:01e14df4-1571-4713-b194-0af3dd5b6d61">
                      <SHORT-NAME>DioUseWriteVerifyErrorInterface</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">This parameter specifies whether user can configure error notification interface instead of DEM error for Write-Verify functionality.</L-2>
                      </DESC>
                      <INTRODUCTION>
                        <P>
                          <L-1 L="EN">true: User can configure error notification interface via DioWriteVerifyErrorInterface parameter.
false: Error notification for Write-Verify functionality shall be handled via DEM error.</L-1>
                        </P>
                      </INTRODUCTION>
                      <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                      <IMPLEMENTATION-CONFIG-CLASSES>
                        <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          <CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS>
                          <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                        </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                      </IMPLEMENTATION-CONFIG-CLASSES>
                      <ORIGIN>Renesas_v1.0.0</ORIGIN>
                      <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                      <DEFAULT-VALUE>false</DEFAULT-VALUE>
                    </ECUC-BOOLEAN-PARAM-DEF>
                    <!-- PARAMETER DEFINITION: DioWriteVerifyErrorInterface -->
                    <ECUC-FUNCTION-NAME-DEF UUID="ECUS:29968ae1-77ee-483d-806b-736a91a3b5c2">
                      <SHORT-NAME>DioWriteVerifyErrorInterface</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">This parameter is used to configure the name of the error notification which shall be called with the ApiID and ErrorId when there is a Write Verify error.</L-2>
                      </DESC>
                      <LOWER-MULTIPLICITY>0</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                      <IMPLEMENTATION-CONFIG-CLASSES>
                        <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          <CONFIG-CLASS>POST-BUILD</CONFIG-CLASS>
                          <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                        </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                      </IMPLEMENTATION-CONFIG-CLASSES>
                      <ORIGIN>Renesas_v1.0.0</ORIGIN>
                      <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                      <ECUC-FUNCTION-NAME-DEF-VARIANTS>
                        <ECUC-FUNCTION-NAME-DEF-CONDITIONAL>
                          <DEFAULT-VALUE>NULL</DEFAULT-VALUE>
                          <REGULAR-EXPRESSION>[a-zA-Z][a-zA-Z0-9_]*</REGULAR-EXPRESSION>
                        </ECUC-FUNCTION-NAME-DEF-CONDITIONAL>
                      </ECUC-FUNCTION-NAME-DEF-VARIANTS>
                    </ECUC-FUNCTION-NAME-DEF>
                  </PARAMETERS>
                </ECUC-PARAM-CONF-CONTAINER-DEF>
                <!-- Container Definition: DioConfig -->
                <ECUC-PARAM-CONF-CONTAINER-DEF UUID="ECUS:6744b98e-2371-40d5-9a79-7f0fd2317ce3">
                  <SHORT-NAME>DioConfig</SHORT-NAME>
                  <DESC>
                    <L-2 L="EN">This container contains the configuration parameters and sub containers of the AUTOSAR DIO module. This container is a multiple configuration container, i.e. this container and its sub-containers exist once per configuration set.</L-2>
                  </DESC>
                  <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                  <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                  <MULTIPLE-CONFIGURATION-CONTAINER>true</MULTIPLE-CONFIGURATION-CONTAINER>
                  <SUB-CONTAINERS>
                    <!-- Container Definition: DioPort -->
                    <ECUC-PARAM-CONF-CONTAINER-DEF UUID="ECUS:703ba75a-f02c-416f-b774-757b4f38aed5">
                      <SHORT-NAME>DioPort</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">Configuration of individual DIO ports, consisting of channels and possible channel groups.</L-2>
                      </DESC>
                      <INTRODUCTION>
                        <P>
                          <L-1 L="EN">Note that this container definition does not explicitly define a symbolic name parameter. Instead,
                          the container's short name will be used in the ECU Configuration Description to specify the symbolic name of the port.</L-1>
                        </P>
                      </INTRODUCTION>
                      <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>11</UPPER-MULTIPLICITY>
                      <MULTIPLE-CONFIGURATION-CONTAINER>false</MULTIPLE-CONFIGURATION-CONTAINER>
                      <PARAMETERS>
                        <!-- PARAMETER DEFINITION: DioPortId -->
                        <ECUC-INTEGER-PARAM-DEF UUID="ECUS:aab87948-7e4d-4d1e-9e24-6f9cdf925823">
                          <SHORT-NAME>DioPortId</SHORT-NAME>
                          <DESC>
                            <L-2 L="EN">Numeric identifier of the DIO port. Not all MCU ports may be used for DIO, thus there may be "gaps" in the list of all IDs. This parameter is not used for implementation.</L-2>
                          </DESC>
                          <INTRODUCTION>
                            <P>
                              <L-1 L="EN">This value will be assigned to the DIO port symbolic name (i.e. the SHORT-NAME of the DioPort container).</L-1>
                            </P>
                          </INTRODUCTION>
                          <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                          <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                          <IMPLEMENTATION-CONFIG-CLASSES>
                            <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                              <CONFIG-CLASS>POST-BUILD</CONFIG-CLASS>
                              <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                            </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          </IMPLEMENTATION-CONFIG-CLASSES>
                          <ORIGIN>AUTOSAR_ECUC</ORIGIN>
                          <SYMBOLIC-NAME-VALUE>true</SYMBOLIC-NAME-VALUE>
                          <DEFAULT-VALUE>0</DEFAULT-VALUE>
                          <MAX>4294967295</MAX>
                          <MIN>0</MIN>
                        </ECUC-INTEGER-PARAM-DEF>
                        <!-- PARAMETER DEFINITION: DioPortName -->
                        <ECUC-ENUMERATION-PARAM-DEF UUID="ECUS:6c4096de-c79b-4af2-8be6-d98b1a3b3edb">
                          <SHORT-NAME>DioPortName</SHORT-NAME>
                          <DESC>
                            <L-2 L="EN">This parameter specifies the DIO port group for a DIO port.</L-2>
                          </DESC>
                          <INTRODUCTION>
                            <P>
                              <L-1 L="EN">This parameter contains the literals in "PORTGROUP_'Group Id'_BITS_'Start Bit'_TO_'End Bit'_'Misc Bits'" format for numeric and alphanumeric port groups.
E.g. PORTGROUP_0_BITS_0_TO_9 in case of port group 0, PORTGROUP_AL_BITS_0_TO_15 in case of port group AL.
In case of JTAG related port group, this parameter contains the literal in "PORTGROUPJTAG_'Group Id'_BITS_'Start Bit'_TO_'End Bit'" format.</L-1>
                            </P>
                          </INTRODUCTION>
                          <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                          <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                          <IMPLEMENTATION-CONFIG-CLASSES>
                            <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                              <CONFIG-CLASS>POST-BUILD</CONFIG-CLASS>
                              <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                            </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          </IMPLEMENTATION-CONFIG-CLASSES>
                          <ORIGIN>Renesas_v1.0.0</ORIGIN>
                          <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                          <DEFAULT-VALUE>PORTGROUP_0_BITS_0_TO_10_13_14</DEFAULT-VALUE>
                          <LITERALS>
                            <ECUC-ENUMERATION-LITERAL-DEF UUID="ECUS:d8403e95-6693-4c12-a58e-3fcc4b0aea4f">
                              <SHORT-NAME>PORTGROUP_0_BITS_0_TO_10_13_14</SHORT-NAME>
                              <ORIGIN>Renesas_v1.0.0</ORIGIN>
                            </ECUC-ENUMERATION-LITERAL-DEF>
                            <ECUC-ENUMERATION-LITERAL-DEF UUID="ECUS:e2a4999a-c997-4707-b9f0-8e20e9e1311e">
                              <SHORT-NAME>PORTGROUP_1_BITS_1_TO_4</SHORT-NAME>
                              <ORIGIN>Renesas_v1.0.0</ORIGIN>
                            </ECUC-ENUMERATION-LITERAL-DEF>
                            <ECUC-ENUMERATION-LITERAL-DEF UUID="ECUS:dc48432e-0689-40d8-ade1-40442444b2f6">
                              <SHORT-NAME>PORTGROUP_2_BITS_0_TO_15</SHORT-NAME>
                              <ORIGIN>Renesas_v1.0.0</ORIGIN>
                            </ECUC-ENUMERATION-LITERAL-DEF>
                            <ECUC-ENUMERATION-LITERAL-DEF UUID="ECUS:65c40f34-9e3d-490f-963e-ec8ad13eb094">
                              <SHORT-NAME>PORTGROUP_3_BITS_0_TO_14</SHORT-NAME>
                              <ORIGIN>Renesas_v1.0.0</ORIGIN>
                            </ECUC-ENUMERATION-LITERAL-DEF>
                            <ECUC-ENUMERATION-LITERAL-DEF UUID="ECUS:b266cae1-4f71-4429-9511-eccc94cecdc3">
                              <SHORT-NAME>PORTGROUP_4_BITS_0_TO_14</SHORT-NAME>
                              <ORIGIN>Renesas_v1.0.0</ORIGIN>
                            </ECUC-ENUMERATION-LITERAL-DEF>
                            <ECUC-ENUMERATION-LITERAL-DEF UUID="ECUS:1c616558-a236-4265-a106-f6d05c383458">
                              <SHORT-NAME>PORTGROUP_5_BITS_4_TO_15_0_1</SHORT-NAME>
                              <ORIGIN>Renesas_v1.0.0</ORIGIN>
                            </ECUC-ENUMERATION-LITERAL-DEF>
                            <ECUC-ENUMERATION-LITERAL-DEF UUID="ECUS:1c116558-a236-4215-a106-f6d05c383458">
                              <SHORT-NAME>PORTGROUP_6_BITS_0_TO_3</SHORT-NAME>
                              <ORIGIN>Renesas_v1.0.0</ORIGIN>
                            </ECUC-ENUMERATION-LITERAL-DEF>
                            <ECUC-ENUMERATION-LITERAL-DEF UUID="ECUS:6c5f00b3-2e81-4f8f-bd8a-9475218770d5">
                              <SHORT-NAME>PORTGROUPJTAG_0_BITS_0_TO_5</SHORT-NAME>
                              <ORIGIN>Renesas_v1.0.0</ORIGIN>
                            </ECUC-ENUMERATION-LITERAL-DEF>
                          </LITERALS>
                        </ECUC-ENUMERATION-PARAM-DEF>
                      </PARAMETERS>
                      <SUB-CONTAINERS>
                        <!-- Container Definition: DioChannel -->
                        <ECUC-PARAM-CONF-CONTAINER-DEF UUID="ECUS:3330efa9-34c3-492f-b877-72dbd8a413b7">
                          <SHORT-NAME>DioChannel</SHORT-NAME>
                          <DESC>
                            <L-2 L="EN">Configuration of an individual DIO channel. Besides a HW specific channel name which is typically fixed for a specific micro controller, additional symbolic names can be defined per channel.</L-2>
                          </DESC>
                          <INTRODUCTION>
                            <P>
                              <L-1 L="EN">Note that this container definition does not explicitly define a symbolic name parameter. Instead, the container's short name will be used in the ECU Configuration Description to specify the symbolic name of the channel.</L-1>
                            </P>
                          </INTRODUCTION>
                          <LOWER-MULTIPLICITY>0</LOWER-MULTIPLICITY>
                          <UPPER-MULTIPLICITY>16</UPPER-MULTIPLICITY>
                          <MULTIPLE-CONFIGURATION-CONTAINER>false</MULTIPLE-CONFIGURATION-CONTAINER>
                          <PARAMETERS>
                            <!-- PARAMETER DEFINITION: DioChannelId -->
                            <ECUC-INTEGER-PARAM-DEF UUID="ECUS:c9bcb5f2-4d41-4d0f-9a70-1a59f9fdea18">
                              <SHORT-NAME>DioChannelId</SHORT-NAME>
                              <DESC>
                                <L-2 L="EN">Channel Id of the DIO channel. This value will be assigned to the symbolic names. This parameter is not used for implementation.</L-2>
                              </DESC>
                              <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                              <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                              <IMPLEMENTATION-CONFIG-CLASSES>
                                <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                                  <CONFIG-CLASS>POST-BUILD</CONFIG-CLASS>
                                  <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                                </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                              </IMPLEMENTATION-CONFIG-CLASSES>
                              <ORIGIN>AUTOSAR_ECUC</ORIGIN>
                              <SYMBOLIC-NAME-VALUE>true</SYMBOLIC-NAME-VALUE>
                              <DEFAULT-VALUE>0</DEFAULT-VALUE>
                              <MAX>65535</MAX>
                              <MIN>0</MIN>
                            </ECUC-INTEGER-PARAM-DEF>
                            <!-- PARAMETER DEFINITION: DioChannelBitPosition -->
                            <ECUC-INTEGER-PARAM-DEF UUID="ECUS:02b5e833-51e2-43df-bd84-a5d7023703cf">
                              <SHORT-NAME>DioChannelBitPosition</SHORT-NAME>
                              <DESC>
                                <L-2 L="EN">This parameter contains channel bit position of the DIO channel.</L-2>
                              </DESC>
                              <INTRODUCTION>
                                <P>
                                  <L-1 L="EN">Note: Value of the parameter DioChannelBitPosition should be unique and must belong to the particular DIO port group selected for DioPortName parameter.
Please refer the 'Start Bit', 'End Bit' and 'Misc Bit' for the selected value of DioPortName parameter for possible valid values.</L-1>
                                </P>
                              </INTRODUCTION>
                              <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                              <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                              <IMPLEMENTATION-CONFIG-CLASSES>
                                <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                                  <CONFIG-CLASS>POST-BUILD</CONFIG-CLASS>
                                  <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                                </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                              </IMPLEMENTATION-CONFIG-CLASSES>
                              <ORIGIN>Renesas_v1.0.0</ORIGIN>
                              <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                              <DEFAULT-VALUE>0</DEFAULT-VALUE>
                              <MAX>15</MAX>
                              <MIN>0</MIN>
                            </ECUC-INTEGER-PARAM-DEF>
                          </PARAMETERS>
                        </ECUC-PARAM-CONF-CONTAINER-DEF>
                        <!-- Container Definition: DioChannelGroup -->
                        <ECUC-PARAM-CONF-CONTAINER-DEF UUID="ECUS:b0a6bcbf-c98c-4f47-afb7-a5530720c1c0">
                          <SHORT-NAME>DioChannelGroup</SHORT-NAME>
                          <DESC>
                            <L-2 L="EN">Definition and configuration of DIO channel groups. A channel group represents several adjoining DIO channels represented by a logical group.</L-2>
                          </DESC>
                          <INTRODUCTION>
                            <P>
                              <L-1 L="EN">Note that this container definition does not explicitly define a symbolic name parameter. Instead, the container's short name will be used in the ECU Configuration Description to specify the symbolic name of the channel group.</L-1>
                            </P>
                          </INTRODUCTION>
                          <LOWER-MULTIPLICITY>0</LOWER-MULTIPLICITY>
                          <UPPER-MULTIPLICITY>255</UPPER-MULTIPLICITY>
                          <MULTIPLE-CONFIGURATION-CONTAINER>false</MULTIPLE-CONFIGURATION-CONTAINER>
                          <PARAMETERS>
                            <!-- PARAMETER DEFINITION: DioChannelGroupIdentification -->
                            <ECUC-STRING-PARAM-DEF UUID="ECUS:6c9c746e-c48c-4d6a-b26c-8425f79e7b47">
                              <SHORT-NAME>DioChannelGroupIdentification</SHORT-NAME>
                              <DESC>
                                <L-2 L="EN">The DIO channel group is identified in DIO API by a pointer to a data structure (of type Dio_ChannelGroupType). That data structure contains the channel group information. This parameter is not used for implementation.</L-2>
                              </DESC>
                              <INTRODUCTION>
                                <P>
                                  <L-1 L="EN">This parameter contains the code fragment that has to be inserted in the API call of the calling module to get the address of the variable in memory which holds the channel group information. Example values are "&amp;MyDioGroup1" or "&amp;MyDioGroupArray[0]". This parameter is not used for implementation.</L-1>
                                </P>
                              </INTRODUCTION>
                              <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                              <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                              <IMPLEMENTATION-CONFIG-CLASSES>
                                <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                                  <CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS>
                                  <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                                </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                              </IMPLEMENTATION-CONFIG-CLASSES>
                              <ORIGIN>AUTOSAR_ECUC</ORIGIN>
                              <SYMBOLIC-NAME-VALUE>true</SYMBOLIC-NAME-VALUE>
                              <ECUC-STRING-PARAM-DEF-VARIANTS>
                                <ECUC-STRING-PARAM-DEF-CONDITIONAL>
                                  <DEFAULT-VALUE>NULL</DEFAULT-VALUE>
                                  <REGULAR-EXPRESSION>[a-zA-Z][a-zA-Z0-9_]*</REGULAR-EXPRESSION>
                                </ECUC-STRING-PARAM-DEF-CONDITIONAL>
                              </ECUC-STRING-PARAM-DEF-VARIANTS>
                            </ECUC-STRING-PARAM-DEF>
                            <!-- PARAMETER DEFINITION: DioPortMask -->
                            <ECUC-INTEGER-PARAM-DEF UUID="ECUS:f2539370-8ec4-4602-bdbd-b1a6bcf13870">
                              <SHORT-NAME>DioPortMask</SHORT-NAME>
                              <DESC>
                                <L-2 L="EN">This shall be the mask which defines the positions of the channel group.</L-2>
                              </DESC>
                              <INTRODUCTION>
                                <P>
                                  <L-1 L="EN">The channels shall consist of adjoining bits in the same port. The data type depends on the port width.</L-1>
                                </P>
                              </INTRODUCTION>
                              <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                              <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                              <IMPLEMENTATION-CONFIG-CLASSES>
                                <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                                  <CONFIG-CLASS>POST-BUILD</CONFIG-CLASS>
                                  <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                                </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                              </IMPLEMENTATION-CONFIG-CLASSES>
                              <ORIGIN>AUTOSAR_ECUC</ORIGIN>
                              <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                              <DEFAULT-VALUE>0</DEFAULT-VALUE>
                              <MAX>65535</MAX>
                              <MIN>0</MIN>
                            </ECUC-INTEGER-PARAM-DEF>
                            <!-- PARAMETER DEFINITION: DioPortOffset -->
                            <ECUC-INTEGER-PARAM-DEF UUID="ECUS:b5a8fd19-5e97-404d-8c27-c41a9999b86e">
                              <SHORT-NAME>DioPortOffset</SHORT-NAME>
                              <DESC>
                                <L-2 L="EN">The position of the Channel Group on the port, counted from the LSB. This value can be derived from DioPortMask.</L-2>
                              </DESC>
                              <INTRODUCTION>
                                <P>
                                  <L-1 L="EN">calculationFormula = Position of the first bit of DioPortMask which is set to '1' counted from LSB.</L-1>
                                </P>
                              </INTRODUCTION>
                              <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                              <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                              <IMPLEMENTATION-CONFIG-CLASSES>
                                <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                                  <CONFIG-CLASS>POST-BUILD</CONFIG-CLASS>
                                  <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                                </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                              </IMPLEMENTATION-CONFIG-CLASSES>
                              <ORIGIN>AUTOSAR_ECUC</ORIGIN>
                              <SYMBOLIC-NAME-VALUE>false</SYMBOLIC-NAME-VALUE>
                              <DEFAULT-VALUE>0</DEFAULT-VALUE>
                              <MAX>15</MAX>
                              <MIN>0</MIN>
                            </ECUC-INTEGER-PARAM-DEF>
                          </PARAMETERS>
                        </ECUC-PARAM-CONF-CONTAINER-DEF>
                      </SUB-CONTAINERS>
                    </ECUC-PARAM-CONF-CONTAINER-DEF>
                  </SUB-CONTAINERS>
                </ECUC-PARAM-CONF-CONTAINER-DEF>
                <!-- Parameter Container Definition: DioDemEventParameterRefs -->
                <ECUC-PARAM-CONF-CONTAINER-DEF UUID="ECUS:6ec225a8-eadf-476f-ab1a-6fc1190df61b">
                  <SHORT-NAME>DioDemEventParameterRefs</SHORT-NAME>
                  <DESC>
                    <L-2 L="EN">Container for the references to DemEventParameter elements which shall be invoked using the API Dem_ReportErrorStatus API in case the corresponding error occurs.
The EventId is taken from the referenced DemEventParameter's DemEventId value. The standardized errors are provided in the container and can be extended
by vendor specific error references.</L-2>
                  </DESC>
                  <LOWER-MULTIPLICITY>1</LOWER-MULTIPLICITY>
                  <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                  <MULTIPLE-CONFIGURATION-CONTAINER>false</MULTIPLE-CONFIGURATION-CONTAINER>
                  <REFERENCES>
                    <!-- Symbolic Name Reference Definition: DIO_E_REG_WRITE_VERIFY -->
                    <ECUC-SYMBOLIC-NAME-REFERENCE-DEF UUID="ECUS:a699dabd-d8b7-48ed-b5a6-e3436a1dee8a">
                      <SHORT-NAME>DIO_E_REG_WRITE_VERIFY</SHORT-NAME>
                      <DESC>
                        <L-2 L="EN">Reference to the DemEventParameter which shall be issued when the error "Dio register write verification failed (HW)" has occurred.</L-2>
                      </DESC>
                      <LOWER-MULTIPLICITY>0</LOWER-MULTIPLICITY>
                      <UPPER-MULTIPLICITY>1</UPPER-MULTIPLICITY>
                      <IMPLEMENTATION-CONFIG-CLASSES>
                        <ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                          <CONFIG-CLASS>PRE-COMPILE</CONFIG-CLASS>
                          <CONFIG-VARIANT>VARIANT-POST-BUILD</CONFIG-VARIANT>
                        </ECUC-IMPLEMENTATION-CONFIGURATION-CLASS>
                      </IMPLEMENTATION-CONFIG-CLASSES>
                      <ORIGIN>Renesas_v1.0.0</ORIGIN>
                      <DESTINATION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">/AUTOSAR/EcucDefs/Dem/DemConfigSet/DemEventParameter</DESTINATION-REF>
                    </ECUC-SYMBOLIC-NAME-REFERENCE-DEF>
                  </REFERENCES>
                </ECUC-PARAM-CONF-CONTAINER-DEF>
              </CONTAINERS>
            </ECUC-MODULE-DEF>
          </ELEMENTS>
        </AR-PACKAGE>
      </AR-PACKAGES>
    </AR-PACKAGE>
  </AR-PACKAGES>
</AUTOSAR>
